//直接法求出所有约数个数
#include <iostream>

using namespace std;

typedef long long LL;

LL res;

int main()
{
	int n;
	cin >> n;
	
	for (int i = 1; i <= n; i ++ )
	{
		res += n / i;
	}
	
	cout << res << endl;
}
//筛法求约数和个数(重点%%%)
#include <iostream>

using namespace std;

typedef long long LL;

const int N = 1e6 + 10;

int yu[N], primes[N], d[N], cnt;
bool st[N];

void init(int x)
{
	yu[1] = 1;
	for (int i = 2; i <= x; i ++ )
	{
		if (!st[i])
		{
			yu[i] = 2;
			d[i] = 1;
			primes[cnt ++ ] = i;
		}
		for (int j = 0; (LL)primes[j] * i <= x; j ++ )
		{
			LL k = primes[j] * i;
			st[k] = true;
			
			if (i % primes[j] == 0)
			{
				d[k] = d[i] + 1;
				yu[k] = yu[i] / (d[i] + 1) * (d[i] + 2);
				break;
			}
			
			d[k] = 1;
			yu[k] = yu[i] * 2;
		}
	}
}

int main()
{
	int n;
	cin >> n;
	
	init(n);
	
	long long res = 0;
	
	for (int i = 1; i <= n; i ++ ) 
	{
		res += yu[i];
//		cout << i  << "====" << d[i] << "====" << yu[i] << endl;	
	}
	
	cout << res << endl;
	
	
}
//1000000
//16611314
